package com.study.reactor.dao.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 退款单明细表
 * </p>
 *
 * @author Cliff
 * @since 2022-06-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("receive_refund_detail")
public class ReceiveRefundDetail extends Model<ReceiveRefundDetail> {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 退款单id
     */
    private Long refundId;

    /**
     * 应退金额
     */
    private BigDecimal shouldAmount;

    /**
     * 实退金额
     */
    private BigDecimal actualAmount;

    /**
     * 扣除金额
     */
    private BigDecimal deductAmount;

    /**
     * 快递费
     */
    private BigDecimal discountKdf;

    /**
     * 包装费
     */
    private BigDecimal discountBzf;

    /**
     * 营收
     */
    private BigDecimal discountYs;

    /**
     * 检测费
     */
    private BigDecimal discountJcf;

    /**
     * 维修费
     */
    private BigDecimal discountWxf;

    /**
     * 差旅费
     */
    private BigDecimal discountClf;

    /**
     * 折旧费
     */
    private BigDecimal discountZjf;

    /**
     * 折扣扣
     */
    private BigDecimal discountZkkc;

    /**
     * 电池扣款金额
     */
    private BigDecimal discountDckkje;

    /**
     * 结算方式编码
     */
    private String methodCode;

    /**
     * 结算方式名称
     */
    private String methodName;

    /**
     * 退款帐号
     */
    private String refundAccountNo;

    /**
     * 款项类型 01 货款、02 铺设服务费、03 运维服务费
     */
    private String receiveAmountType;

    /**
     * 商品类型： 01充电宝、02充电桩、03无人零售柜；
     */
    private String receiveProductType;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 核销状态 1：未核销 2：部分核销  3：完全核销
     */
    private Integer writeOffStatus;

    /**
     * '已核销金额'
     */
    private  BigDecimal  receiveOffMoney;

    /**
     * '未核销金额'
     */
    private BigDecimal receiveUselessMoney;


    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
